This disclosure relates in general to cloud-based computer processing and, but not by way of limitation, to encrypting media for streaming.
The delivery of media over networks such as the Internet can be accomplished in many ways, including progressive downloading or streaming. Streaming is often preferred to progressive downloading because it offers additional features such as content protection and the ability to seek to undownloaded parts of a media file. The process of preparing a media file for streaming typically involves “chunking” the file, or dividing media files up into smaller segments for delivery. Information including where chunks may be accessed can be stored in an index file, or manifest. This index file can be delivered to a client, such as a media player application, for use in streaming.
The processes of chunking and indexing files for streaming present challenges to a media file delivery service provider or content provider desiring to host media files for streaming. For example, a significant amount of preprocessing is required to prepare media for streaming. Media content may be encoded into several different files to accommodate several different sub-streams. Each of these files typically are chunked, stored, and indexed before the media content is available for streaming. Where encryption is required, the chunks are additionally encrypted before they are stored. Such preprocessing leaves little flexibility for changing encryption keys.